Traditional gate array base cells have evolved around efficient layout of transistor arrays. This has been due in part to the number of gates that can be formed in the array and in part due to the number of input/output pins the array has. As circuits have become smaller allowing more gates to be put on a single chip, it has been important to stress development of functions using programmable metal layers. This approach has been used in developing memory circuits, digital signal processing circuits, logic functions such as adders and the like and is based on having transistors available to form NAND gates, AOI cells, inverters, memory cells and the like.
The programmable metal used to produce the desired functions takes up a good deal of available space and has caused, especially in chips with very high integration, a reduction in the density of functions that can be formed. As a result, the typical wiring inefficiency for a given array has resulted in as many as 40% of the base cells on the chip not being utilized in the final circuit configuration. The inability to wire up desired functions in a single gate array, however, has increased the cost of utilizing this technology by increasing area required to perform a given function, thus wasting the components which could not be wired.
Another factor which has contributed to reduced efficiency in wiring gate array cells is the fact that the cells themselves have been frequently based on having the transistors available to form 2 input NAND circuits which has heretofore been thought to be quite flexible. However, an investigation of sequential logic functions and data signal processing functions has demonstrated that there is a high frequency of multiplexer circuits in such logic and that the multiplexer has proved to be somewhat difficult to implement in the numbers desired by designers because wiring routing channels are quickly used up.